$dbr =& wfGetDB( DB_SLAVE );
$dbw =& wfGetDB( DB_MASTER );
$start = intval( $start );
-
+
# Don't generate TeX PNGs (lack of a sensible current directory causes errors anyway)
$wgUser->setOption('math', MW_MATH_SOURCE);
# Don't generate extension images (e.g. Timeline)
$wgParser->mTagHooks = array();
-
+
# Don't generate thumbnail images
$wgUseImageResize = false;
);
$num = $dbr->numRows( $res );
print "$num new articles...\n";
-
+
$i = 0;
while ( $row = $dbr->fetchObject( $res ) ) {
if ( !( ++$i % REPORTING_INTERVAL ) ) {
print("Starting from page_id $start of $end.\n");
for ($id = $start; $id <= $end; $id++) {
-
+
if ( !($id % REPORTING_INTERVAL) ) {
print "$id\n";
wfWaitForSlaves( $maxLag );
}
fixLinksFromArticle( $id );
}
-
+
}
}
function fixLinksFromArticle( $id ) {
global $wgTitle, $wgArticle, $wgOut, $wgParser;
-
+
$wgTitle = Title::newFromID( $id );
$dbw =& wfGetDB( DB_MASTER );
-
+
if ( is_null( $wgTitle ) ) {
return;
}
function deleteLinksFromNonexistent( $maxLag = 0 ) {
$fname = 'deleteLinksFromNonexistent';
-
+
wfWaitForSlaves( $maxLag );
$dbw =& wfGetDB( DB_WRITE );
-
+
$linksTables = array(
'pagelinks' => 'pl_from',
'imagelinks' => 'il_from',
$pTable = $dbw->tableName( $table );
$sql = "DELETE $pTable FROM $pTable LEFT JOIN $page ON page_id=$field WHERE page_id IS NULL";
-
+
print "Deleting $table from non-existent articles...";
$dbw->query( $sql, $fname );
print " fixed " .$dbw->affectedRows() . " row(s)\n";